/**
 * Created by Administrator on 2017/11/24 0024.
 *
 * 预报诊断
 */

//日期转换
Date.prototype.Format = function (fmt) { //author: meizz
    var o = {
        "M+": this.getMonth() + 1, //月份
        "d+": this.getDate(), //日
        "h+": this.getHours(), //小时
        "m+": this.getMinutes(), //分
        "s+": this.getSeconds(), //秒
        "q+": Math.floor((this.getMonth() + 3) / 3), //季度
        "S": this.getMilliseconds() //毫秒
    };
    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
}
$(function () {
    //$.ajaxSettings.async = false;
    loadPF();//加载算法ID
    dateTiemSelect();
    dayReset();
    var table = new tableFactory();//初始化表格
    query();//点击查询
});

//初始化时间框
function dateTiemSelect(){
    layui.use('laydate', function(){
        var laydate = layui.laydate;
        laydate.render({
            elem: '#startTime', //新增的日期
            type: 'date',//日期类型date表示年月日
            /*  trigger: 'click',//如果绑定的元素非输入框，则默认事件为：click*/
            theme: '#2a2a48',//自定义主题
            //min: '2014-1-1',//限制最小日期
            //max: '2018-12-31'//限制最大日期
        });
        laydate.render({
            elem: '#endTime', //新增的日期
            type: 'date',
            theme: '#2a2a48',//自定义主题
            ready: function(date){
            },
            done: function(value, date, endDate){//选中之后的对调函数
            }
        });
    });
}

//初始化日期选项
function dayReset() {
    $("#interval").selectpicker('refresh');
    $('#interval').selectpicker();
}
//加载算法ID
function loadPF() {
    $("#pfList").empty();//赋值之前，先清空
    var me = this;
    var index = layer.load(0);
    var farmid = $('#selectFarm', window.parent.document).val();
    var news = $("#pfList");//获取算法列表的对象
    var data = {"farmId":farmid};
    $.ajax({
        url : "../diagnoseManage/getPFName",
        type : "get",
        async:false,
        contentType : "application/json",
        dataType : "json",
        data :data /*JSON.stringify(data)*/,//转换成字符串。后台使用了RequestBody注解
        success : function(data) {
            $.each(data, function (index, item) {
                news.append('<option value="'+item.pfid+'">'+item.pfname+'</option>');
            });
            $("#pfList").selectpicker('refresh');
            //load();
            layer.close(index);
        }
    });
    $('#pfList').selectpicker();
}

//加载数据
function load () {
    var farmid = $('#selectFarm', window.parent.document).val();//获取父页面的元素
    var pfid = $("#pfList option:checked").val();
    pfName = $("#pfList option:checked").text();
    var interval = $("#interval option:checked").val();
    var p = {
        "startTime": $("#startTime").val(),
        "endTime": $("#endTime").val(),
        "farmid": farmid,
        "pfid": pfid,
        "interval":interval
    };
    var index = layer.load(0);
    $.ajax({
        url: "../dataIntegratedQuery/selectOption",
        type: "get",
        contentType: "application/json",
        dataType: "json",
        data: p/*JSON.stringify(p)*/,//转换成字符串。后台使用了RequestBody注解
        success: function (data) {
            $("#shortPeriod").bootstrapTable("load", data.list);
            layer.close(index);
        }
    });
}

//表格工厂
function tableFactory() {
    var me = this;
    me.data = null;//有功功率
    me.windData = null;//电站信息
    var init = function () {
        $("#shortPeriod").bootstrapTable({
            method: 'get',				  //请求方式（*）
            striped: false,					  //是否显示行间隔色
            cache: false,					   //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            pagination: true,				   //是否显示分页（*）
            sortable: true,					 //是否启用排序
            sortOrder: "desc",				   //排序方式
            sidePagination: "client",		   //分页方式：client客户端分页，server服务端分页（*）
            pageNumber: 1,					   //初始化加载第一页，默认第一页
            search: true,					   //是否显示表格搜索，只能进行客户端搜索
            strictSearch: false,                //true为全匹配，false为模糊查询
            showColumns: true,				  //是否显示筛选列按钮
            showRefresh: true,			  //是否显示刷新按钮
            clickToSelect:true,				//是否启用点击选中行
            showToggle: false,					//是否显示详细视图和列表视图的切换按钮
            cardView: false,					//是否显示详细视图
            detailView: false,				   //是否显示父子表
            singleSelect: true,                //是否支持多选,false表示支持多选，true表示不支持
            //undefinedText: '_',              //当数据为undefined时显示的字符
            height: 'auto',
            pageSize: 20,
            pageList: [5,20,30],
            editable:true,//是否可以行内编辑
            showExport: true,//是否显示导出按钮
            exportDataType:'all',//导出全部
            exportTypes:[  'csv'], //导出文件类型
            export: 'glyphicon-export icon-share',
            columns: [
                {
                    title: '预报时刻',
                    field: 'dataTime',
                    sortable: true,//排序
                    align: 'center',
                    valign: 'middle',
                    formatter: function (value, row, index) {
                        return new Date(parseInt(value)).Format("yyyy-MM-dd hh:mm");
                    }
                },{
                    title: '发布时间',
                    field: 'gererTime',
                    sortable: true,//排序
                    align: 'center',
                    valign: 'middle',
                    formatter: function (value, row, index) {
                        return new Date(parseInt(value)).Format("yyyy-MM-dd hh:mm");
                    }
                }, {
                    title: '算法名称',
                    field: 'pfname',
                    sortable: true,//排序
                    align: 'center',
                    valign: 'middle',
                    formatter: function (value, row, index) {
                        return value;
                    }
                }, {
                    title: '实际功率(mw)',
                    field: 'skPower',
                    align: 'center',
                    sortable: true,//排序
                    valign: 'middle',
                    formatter: function (value, row, index) {
                        return value.toFixed(2);
                    }
                }, {
                    title: '短期功率(mw)',
                    field: 'foreData',
                    align: 'center',
                    sortable: true,//排序
                    valign: 'middle',
                    formatter: function (value, row, index) {
                        return value.toFixed(2);
                    }
                }, {
                    title: '测风塔风速(m/s)',
                    field: 'skSpeed',
                    align: 'center',
                    sortable: true,//排序
                    valign: 'middle',
                    formatter: function (value, row, index) {
                        return value.toFixed(2)
                    }
                }, {
                    title: '天气预报风速(m/s)',
                    field: 'WINDSPEED',
                    align: 'center',
                    sortable: true,//排序
                    valign: 'middle',
                    formatter: function (value, row, index) {
                        return value.toFixed(2)
                    }
                }]
        });
    }
    init();
}
tableFactory.prototype = {

}

function  query() {
    $("#query").click(function () {
        if($("#startTime").val()===""){
            layer.msg("输入开始时间！", {icon: 2});
            $("#endTime").val("");
        }
        var startTime = new Date($("#startTime").val().replace(/\-/g, "\/"));
        var endTime = new Date($("#endTime").val().replace(/\-/g, "\/"));
        if(startTime >=endTime){
            layer.msg("开始时间不能大于结束时间！", {icon: 2});
            $("#startTime").val("");
            $("#endTime").val("");
            return false;
        }else {
            load();
        }
    });
}








